/*
实现一个自定义数组扩容
* */
import java.util.Scanner;

public class ExpandArr {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你想要建立的数组长度：");
//      1 提示用户输入数据长度并创建相应长度的数组
        int length = sc.nextInt();
        int[] arr = new int[length];

//      2 提示用户输入数据
        System.out.println("已经建立了一个" + arr.length + "长的数组啦～");

        int upper = (int) (arr.length * 0.8);
//        System.out.println(upper);
        for (int i = 0; i < upper; i++) {
            System.out.println("请输入想要存入的数据：");
            arr[i] = sc.nextInt();
        }
        System.out.println("您存入的数据量已经达到目前数组长度的80%啦～");
    //      3 当数据达到数组长度的80%时，提示用户数组以扩容为原长度的1.5倍
    int length_exp = (int) (arr.length * 1.5);
    int[] arr_exp = new int[length_exp];
//    建立一个长度是之前数组长度1.5倍的新数组，并将原数组中下标从0开始的所有元素拷贝到新的数组中，并从下标我饿0的位置开始
    System.arraycopy(arr,0,arr_exp,0,arr.length);
    System.out.println("数组的长度是"+arr_exp.length+", 已经扩容为原来长度的1.5倍啦～");
    System.out.println("现在是扩容后的数组中的所有元素哟～");
    for(
    int j = 0;
    j<arr_exp.length;j++)

    {
        System.out.print(" " + arr_exp[j]);
    }
    System.out.println("\n");
}
}
